1. Field of the Invention
The present invention relates to a method, system, and an article of manufacture for data transmission.
2. Description of the Related Art
Serial data communications refers to communicating data one bit at a time over a serial transmission link between two devices. There are two basic types of serial communications, synchronous and asynchronous. With synchronous serial data communications, the two devices may initially synchronize with each other by each synchronizing to a common clock, and then continually send characters to stay synchronized. Even when data is not really being sent, a constant flow of bits allows the devices to stay synchronized with each other at any given time. That is, each character that is sent is either actual data or an idle character. The requirement of clock synchronization is an overhead for synchronous serial data communications.
With asynchronous serial data communications the two devices do not synchronize to each other by continually synchronizing with a common clock. Thus asynchronous serial data communications does not require sending and receiving idle characters. However, in asynchronous serial communication the beginning and end of each byte of data is identified by start and end delimiters. The start delimiter indicates when the data byte is about to begin and the end delimiter signals when the data byte ends. The requirement to include the start and stop delimiter with data transmission causes asynchronous communications to be slower than synchronous communications. However, asynchronous communications has the advantage that the devices do not have to deal with the additional idle characters.
For example, prior art asynchronous techniques for transmitting packets of data via serial transmission links encode the data in a data encoding format, such as the American Standard Code for Information Interchange (ASCII). The prior art asynchronous serial data transmission techniques add delimiters, such as special characters, to demarcate the start and the end of the data transmission. A start of text (STX) delimiter indicates the start of the data transmission, and an end of text (ETX) delimiter indicates the end of the data transmission. Data received outside of the bounds of an STX and ETX are assumed invalid and discarded. Many prior art asynchronous communications rely on Universal Asychronous Receiver/Transmitters (UART) to send, receive, encode and decode data across the serial transmission links.
Although asynchronous transmission does not require clock synchronization, the asynchronous requirement of encoding transmitted data with delimiters increases the transmission overhead. Hence, there is a need in the art to provide improved techniques for asynchronous serial data transmission.